package com.ts.enterprise.module.user.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.ts.enterprise.common.response.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author dean
 * @since 2021-12-08
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class User extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "自增主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "姓名")
    private String nickname;

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "角色id")
    private Integer roleId;

    @ApiModelProperty(value = "头像")
    private String headImage;

    @ApiModelProperty(value = "性别 0 未知  1男  2 女")
    private Integer sex;

    @ApiModelProperty(value = "默认 1 计件方式 1 扫码上数  2 上数管理和扫码上数   3 禁用上数管理和扫码上数")
    private Integer calculateType;

    @ApiModelProperty(value = "默认 1 上数方式 1 自己  2 自己和其他员工")
    private Integer numberType;

    @ApiModelProperty(value = "查看价格 默认  0 禁止  1 允许")
    private Integer showPrice;

    @ApiModelProperty(value = "查看IE核价 默认  0 禁止  1 允许")
    private Integer showIePrice;

    @ApiModelProperty(value = "查看工资默认 0 不允许  1 允许")
    private Integer showSalary;

    @ApiModelProperty(value = "身份证号")
    private String idCard;

    @ApiModelProperty(value = "部门id")
    private Long departmentId;

    @ApiModelProperty(value = "部门sort值大的排序靠后")
    private Integer sort;

    @ApiModelProperty(value = "默认 0 状态 1 在职  2 离职  5 注销")
    private Integer status;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty("租户ID")
    private String tenantId;

    @ApiModelProperty(value = "0 禁用 1 启用")
    private Integer enable;

    @ApiModelProperty(value = "是否企业拥有者 0 否 1 是")
    private Integer isOwn;

    @ApiModelProperty(value = "0 未刪除 1 已刪除")
    @TableLogic
    private Integer isDel;

    @ApiModelProperty(value = "0 不是 1 是临时工")
    private Integer isTemporary;

    @ApiModelProperty("版本号")
    @Version
    private Integer version;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "禁用原因")
    private String disableReason;

    @ApiModelProperty(value = "其他工资")
    private String otherSalary;


}
